Finde ud af om et Point objekt er inden for et Point[] objekt

Tags:    c#

Hvis overskriften ikke er tydelig nok så er her en lidt mere dybdegående forklaring.

Jeg er igang med at lave min egen TabControl, og til dette formål har jeg så tegnet mine tabs som polygoner (med Graphics.FillPolygon)

Herefter skal jeg jo så opfange når der bliver clicket på min control hvilken tab der bliver valgt, derfor skal jeg have skrevet en metode til at finde ud af om det her System.Drawing.Point er inden i mit System.Drawing.Point array.

Håber at der er nogen der kender en smart lille feature i .Net eller kan forklare mig lidt nærmere om hvordan jeg selv kan skrive en sådan metode.

Mvh
Kaare



4 svar postet i denne tråd vises herunder
1 indlæg har modtaget i alt 4 karma
Sorter efter stemmer Sorter efter dato
ahh snedigt! :)

men ok, googlede lidt og fandt en del ting faktisk

1) Rimelig grundig, lidt teoretisk (men med gode tegninger) så problemet kan forstås - der er både pseudokode og C++ eksempel
http://geometryalgorithms.com/Archive/algorithm_0103/algorithm_0103.htm#wn_PinPolygon

2) Denne artikel er med C# - og indeholder et eksempel på kode der løser dit problem
http://www.codeproject.com/csharp/JulijanPieChart.asp

Koden:
Fold kodeboks ind/udKode 


Casper

[Redigeret d. 21/02-06 08:02:04 af Casper Steinmann]



Hvis overskriften ikke er tydelig nok så er her en lidt mere dybdegående forklaring.

Jeg er igang med at lave min egen TabControl, og til dette formål har jeg så tegnet mine tabs som polygoner (med Graphics.FillPolygon)

Herefter skal jeg jo så opfange når der bliver clicket på min control hvilken tab der bliver valgt, derfor skal jeg have skrevet en metode til at finde ud af om det her System.Drawing.Point er inden i mit System.Drawing.Point array.

Håber at der er nogen der kender en smart lille feature i .Net eller kan forklare mig lidt nærmere om hvordan jeg selv kan skrive en sådan metode.

Mvh
Kaare


Fold kodeboks ind/udKode 

ex:
Fold kodeboks ind/udKode 


Casper

[Redigeret d. 21/02-06 00:20:30 af Casper Steinmann]



Hvis overskriften ikke er tydelig nok så er her en lidt mere dybdegående forklaring.

Jeg er igang med at lave min egen TabControl, og til dette formål har jeg så tegnet mine tabs som polygoner (med Graphics.FillPolygon)

Herefter skal jeg jo så opfange når der bliver clicket på min control hvilken tab der bliver valgt, derfor skal jeg have skrevet en metode til at finde ud af om det her System.Drawing.Point er inden i mit System.Drawing.Point array.

Håber at der er nogen der kender en smart lille feature i .Net eller kan forklare mig lidt nærmere om hvordan jeg selv kan skrive en sådan metode.

Mvh
Kaare


Fold kodeboks ind/udKode 

ex:
Fold kodeboks ind/udKode 


Casper

[Redigeret d. 21/02-06 00:20:30 af Casper Steinmann]


Jah gid det var så simpelt, men der her er jo altså en polygon vi har med at gøre, alternativt kunne man dele den ind i trekanter, men så får jeg stadig skrå linjer, hvis jeg skal ud i den metode som du har gang i, så tror jeg ikke at jeg kommer uden om at bruge sin/cos/tan funktionerne.
Mvh
Kaare



ahh snedigt! :)

men ok, googlede lidt og fandt en del ting faktisk

1) Rimelig grundig, lidt teoretisk (men med gode tegninger) så problemet kan forstås - der er både pseudokode og C++ eksempel
http://geometryalgorithms.com/Archive/algorithm_0103/algorithm_0103.htm#wn_PinPolygon

2) Denne artikel er med C# - og indeholder et eksempel på kode der løser dit problem
http://www.codeproject.com/csharp/JulijanPieChart.asp

Koden:
Fold kodeboks ind/udKode 


Casper

[Redigeret d. 21/02-06 08:02:04 af Casper Steinmann]


Lækkert, mange tak, jeg prøver det lige, virker det, får du dine points :)

Mvh
Kaare



t